Skip to content

fix(mutation): drop unsupported --thresholds.break from per-file #91

Merged
goanpeca merged 2 commits into
mainfrom
chore/fix-mutation-cli
Jun 23, 2026
Merged

fix(mutation): drop unsupported --thresholds.break from per-file #91
goanpeca merged 2 commits into
mainfrom
chore/fix-mutation-cli

Conversation

@goanpeca

@goanpeca goanpeca commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove the unsupported --thresholds.break CLI option from per-file stryker run invocations for Stryker 9.x.
  • Generate a per-file Stryker config with thresholds.break: null, the single mutate target, and the wrapper-owned reporters so individual files do not fail the job solely for being below the break threshold.
  • Keep the wrapper enforcing the original aggregate thresholds.break from stryker.conf.json, while still failing hard child failures, errored mutants, and unknown mutant statuses.
  • Add regression coverage for the generated config, threshold-only per-file exits with a passing aggregate score, aggregate threshold failures, and hard subprocess failures.

Testing

  • pnpm exec vitest run __tests__/run-batched-mutation.test.ts
  • pnpm typecheck
  • pnpm lint
  • pnpm test
  • Pre-commit hook: lint, release provenance, typecheck, full tests, build/dist check, cspell
  • Pre-push hook: coverage

Notes for reviewers

  • src/ and dist/ are unchanged; this PR only changes the batched mutation runner script and its tests.

…ker args

The batched runner passed `--thresholds.break 0` to each per-file
`stryker run`. Stryker 9.x removed dot-notation CLI options, so every
per-file run failed with `error: unknown option '--thresholds.break'`,
produced no report, and failed the mutation CI job on the first file.

The flag was unnecessary: a per-file run dropping below the configured
break threshold is expected and already caught by the runner, which gates
on the aggregate score. Remove the flag and assert its absence.
Copilot AI review requested due to automatic review settings June 23, 2026 15:06
@github-actions

Copy link
Copy Markdown

Build artifact for this PR: build.tar.gz (valid 1 hour)

@goanpeca goanpeca added tech-debt Maintainability and follow-up cleanup ci CI/CD pipeline and automation labels Jun 23, 2026
@goanpeca goanpeca self-assigned this Jun 23, 2026
@goanpeca goanpeca added this to the v1.1.0 milestone Jun 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the batched Stryker mutation runner to stop passing the now-unsupported --thresholds.break dot-notation CLI flag (removed in Stryker 9.x), and adjusts the accompanying unit test to assert the flag is not present.

Changes:

  • Remove --thresholds.break 0 from per-file stryker run invocations in the batched mutation runner.
  • Update the batched mutation runner test to assert --thresholds.break is not passed.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
scripts/run-batched-mutation-lib.mjs Drops the unsupported --thresholds.break CLI arg from the per-file Stryker command.
tests/run-batched-mutation.test.ts Updates assertions/comments to reflect the removed --thresholds.break arg.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/run-batched-mutation-lib.mjs Outdated
Comment thread __tests__/run-batched-mutation.test.ts Outdated
@goanpeca goanpeca mentioned this pull request Jun 23, 2026
7 tasks
@github-actions

Copy link
Copy Markdown

Build artifact for this PR: build.tar.gz (valid 1 hour)

@goanpeca goanpeca changed the title fix(mutation): drop unsupported --thresholds.break from per-file Stry… fix(mutation): drop unsupported --thresholds.break from per-file Jun 23, 2026
@goanpeca goanpeca requested a review from Copilot June 23, 2026 15:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@goanpeca goanpeca merged commit 29bf8fa into main Jun 23, 2026
33 checks passed
@goanpeca goanpeca deleted the chore/fix-mutation-cli branch June 23, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD pipeline and automation tech-debt Maintainability and follow-up cleanup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants